package com.guodi.map.entity;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.Date;

/**
* @描述: 分屏记录表 实体类
* @作者: 陈宏成
* @日期: 2021-11-10
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("map_split_screen")
@ApiModel(value="MapSplitScreen对象", description="分屏记录表")
public class MapSplitScreen implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键id")
    @Length(max = 32, message = "主键id最大为32个字符")
    @TableId(value = "id", type = IdType.ASSIGN_UUID)
    private String id;

    @ApiModelProperty(value = "创建人", hidden = true)
    @Length(max = 32, message = "创建人最大为32个字符")
    @TableField(value = "creator", updateStrategy = FieldStrategy.NEVER)
    private String creator;

    @ApiModelProperty(value = "创建时间", hidden = true)
    @TableField(value = "create_time", updateStrategy = FieldStrategy.NEVER)
    private Date createTime;

    @ApiModelProperty(value = "修改人", hidden = true)
    @Length(max = 32, message = "修改人最大为32个字符")
    @TableField(value = "modifier", insertStrategy = FieldStrategy.NEVER)
    private String modifier;

    @ApiModelProperty(value = "修改时间", hidden = true)
    @TableField(value = "modify_time", insertStrategy = FieldStrategy.NEVER)
    private Date modifyTime;

    @ApiModelProperty(value = "名称", required = true)
    @Length(max = 150, message = "名称最大为150个字符")
    @NotBlank(message = "名称不能为空")
    @TableField(value = "name")
    private String name;

    @ApiModelProperty(value = "分屏配置json", required = true)
    @NotBlank(message = "分屏设置不能")
    @TableField(value = "config")
    private String config;


}
